package com.cysoft.third.echarts.component.radiusAxis;

/**
 * @author 玖零
 * @version v0.0.1
 * @project cysoft-third-echarts
 * @package com.cysoft.third.echarts.component.radiusAxis
 * @date 2025/3/13 12:50
 * @desc
 */
public class NameTextStyle {

    /**
     * 坐标轴名称的颜色，默认取 axisLine.lineStyle.color。
     */
    private String color;

    /**
     * 坐标轴名称文字字体的风格。可选：'normal'，'italic'，'oblique'
     */
    private String fontStyle = "normal";

    /**
     * 坐标轴名称文字字体的粗细。可选：'normal'，'bold'，'bolder'，'lighter'，100 | 200 | 300 | 400...
     */
    private Object fontWeight = "normal";

    /**
     * 坐标轴名称文字的字体系列。还可以是 'serif' , 'monospace', 'Arial', 'Courier New', 'Microsoft YaHei', ...
     */
    private String fontFamily = "sans-serif";

    /**
     * 坐标轴名称文字的字体大小。
     */
    private Integer fontSize = 12;

    /**
     * 文字水平对齐方式，默认自动。可选：'left'，'center'，'right'
     */
    private String align;

    /**
     * 文字垂直对齐方式，默认自动。可选：'top'，'middle'，'bottom'
     */
    private String verticalAlign;

    /**
     * 行高。
     */
    private Integer lineHeight;

    /**
     * 文字块背景色。可以使用颜色值，例如：'#123234', 'red', 'rgba(0,23,11,0.3)'。
     * 也可以直接使用图片，例如：backgroundColor: { image: 'xxx/xxx.png' }
     */
    private Object backgroundColor = "transparent";

    /**
     * 文字块边框颜色。
     */
    private String borderColor;

    /**
     * 文字块边框宽度。
     */
    private Integer borderWidth;

    /**
     * 文字块边框描边类型。可选：'solid'，'dashed'，'dotted'
     * 自 v5.0.0 开始，也可以是 number 或者 number 数组，用以指定线条的 dash array，配合 borderDashOffset 可实现更灵活的虚线效果。
     */
    private Object borderType = "solid";

    /**
     * 从 v5.0.0 开始支持，用于设置虚线的偏移量，可搭配 borderType 指定 dash array 实现灵活的虚线效果。
     */
    private Integer borderDashOffset;

    /**
     * 文字块的圆角。
     */
    private Object borderRadius;

    /**
     * 文字块的内边距。例如：padding: [3, 4, 5, 6]：表示 [上, 右, 下, 左] 的边距。
     * padding: 4：表示 padding: [4, 4, 4, 4]。padding: [3, 4]：表示 padding: [3, 4, 3, 4]。
     * 注意，文字块的 width 和 height 指定的是内容高宽，不包含 padding。
     */
    private Object padding;

    /**
     * 文字块的背景阴影颜色。
     */
    private String shadowColor = "transparent";

    /**
     * 文字块的背景阴影长度。
     */
    private Integer shadowBlur;

    /**
     * 文字块的背景阴影 X 偏移。
     */
    private Integer shadowOffsetX;

    /**
     * 文字块的背景阴影 Y 偏移。
     */
    private Integer shadowOffsetY;

    /**
     * 文本显示宽度。
     */
    private Integer width;

    /**
     * 文本显示高度。
     */
    private Integer height;

    /**
     * 文字本身的描边颜色。
     */
    private String textBorderColor;

    /**
     * 文字本身的描边宽度。
     */
    private Integer textBorderWidth;

    /**
     * 文字本身的描边类型。可选：'solid'，'dashed'，'dotted'
     * 自 v5.0.0 开始，也可以是 number 或者 number 数组，用以指定线条的 dash array，配合 textBorderDashOffset 可实现更灵活的虚线效果。
     */
    private Object textBorderType = "solid";

    /**
     * 从 v5.0.0 开始支持，用于设置虚线的偏移量，可搭配 textBorderType 指定 dash array 实现灵活的虚线效果。
     */
    private Integer textBorderDashOffset;

    /**
     * 文字本身的阴影颜色。
     */
    private String textShadowColor = "transparent";

    /**
     * 文字本身的阴影长度。
     */
    private Integer textShadowBlur;

    /**
     * 文字本身的阴影 X 偏移。
     */
    private Integer textShadowOffsetX;

    /**
     * 文字本身的阴影 Y 偏移。
     */
    private Integer textShadowOffsetY;

    /**
     * 文字超出宽度是否截断或者换行。配置 width 时有效
     * 'truncate' 截断，并在末尾显示 ellipsis 配置的文本，默认为...
     * 'break' 换行
     * 'breakAll' 换行，跟 'break' 不同的是，在英语等拉丁文中，'breakAll' 还会强制单词内换行
     */
    private String overflow = "none";

    /**
     * 在 overflow 配置为 'truncate' 的时候，可以通过该属性配置末尾显示的文本。
     */
    private String ellipsis = "...";

    /**
     * 在 rich 里面，可以自定义富文本样式。利用富文本样式，可以在标签中做出非常丰富的效果。
     */
    private Object rich;
}
